package it.ap.sa.core.configuration.reader;

import java.util.Map;

import it.ap.sa.core.configuration.commons.IConfiguration;

/**
 * @author Alessandro Paolillo
 */
public interface IConfigurationReader {

	/**
	 * Legge i parametri di configurazione usando il reader impostato e l' inserisce nell'oggetto {@link IConfiguration}
	 * di modo da renderli disponibili sempre in qualsiasi punto dell'applicazione.
	 * Se non valorizzata la proprietà "configurationFile" in config.properties, il reader su file leggerà come parametri di
	 * configurazione quelli del file di properties "config.properties".
	 * 
	 * @param {@link Map<String,String>} otherParams, parametri in più da voler aggiungere al configuration.
	 * 
	 * @return {@link IConfiguration}
	 */
	public IConfiguration readConfiguration(Map<String,String> otherParams);
}
